#1：重做： 用户输入出生日期（月-日），计算距离他的下个生日还有几天（注意：2月29的处理）

from datetime import *
import traceback
if __name__ == '__main__':
    input_date=input("输入生日：")
    yue,ri=input_date.split('-')
    yue=int(yue)
    ri=int(ri)
    now_date =date.today()
    #用异常解决2-29问题，如果今年不是闰年就找到最近的闰年，进行计算
    try:
        my_date = date(now_date.year, yue, ri)
    except ValueError as e:
        sum_date = int(now_date.year)
        while True:
          sum_date = sum_date + 1
          if (sum_date%4==0 and sum_date%100!=0) or sum_date%400==0:
               my_date=date(sum_date,yue,ri)
               break
    #解决闰年2.29当中出现生日已过和未过问题
    sum_date=int(now_date.year)
    if ((sum_date%4==0 and sum_date%100!=0) or sum_date%400==0) and yue==2 and ri==29:
         if now_date > my_date:  # 已经过生日
             tihuan_date=int(now_date.year)
             while True:
                 tihuan_date = tihuan_date + 1
                 if (tihuan_date % 4 == 0 and tihuan_date % 100 != 0) or tihuan_date % 400 == 0:
                     my_date = date(tihuan_date, yue, ri)
                     print("下次生日：", (my_date - now_date).days, "后")
                     break

    else:#计算相差时间
     if now_date>my_date:
        next_date=date(my_date.year+1,yue,ri)
        print("下次生日：",(next_date-now_date).days,"后")
     else:
        print("下次生日：", (my_date-now_date).days,"后")




















